﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ShivamEMR.Model.Domain.PersonDomain;
using ShivamEMR.Model.Domain.CRMDomain;
using System.ComponentModel.DataAnnotations;

namespace ShivamEMR.Model.Domain.CompanyDomain
{
  public  class Employee :Person
    {
        #region Properties
        public string EmpCode { get; set; }
        [DataType(DataType.Date)]
        public DateTime DateOfJoin { get; set; }
        public string EmpNotes { get; set; }
        #endregion

        #region ForeignKeyProperties
        public int EmployeeStatusID { get; set; }
        public Nullable<int> EmployeeGroupID { get; set; } 
        #endregion
         

        #region NavigationalProperties
      [ForeignKey("EmployeeStatusID")]
        public virtual EmployeeStatus EmployeeStatus { get; set; }
      [ForeignKey("EmployeeGroupID")]
      public virtual EmployeeGroup Group { get; set; }

        public virtual ICollection<Branch> CurrentBranches { get; set; }
        public virtual ICollection<Designation> Designations { get; set; }
  
        public virtual ICollection<Assignment> Assignments { get; set; }
        public virtual ICollection<Appointment> Appointments { get; set; }
        public virtual ICollection<EmployeeSchedule> Schedule { get; set; }
        public virtual ICollection<Interaction> Interactions { get; set; }
        #endregion


    }
}
